home *** CD-ROM | disk | FTP | other *** search
- /*
- Visual FX Arexx Script
- Written By J.L. White
- (C)1997 Merlin's Software
- */
-
- Options Results
- address "IMAGEFX.1"
- ScreenToFront
- Undo Off
- if exists("libs:flyer.library") then do
- TOASTERLIB="ToasterARexx.port"
- call remlib('ToasterARexx.port')
- call remlib('PROJECT_REXX_PORT')
- call addlib('PROJECT_REXX_PORT' , 0)
- call addlib(TOASTERLIB,0)
- end
- call Settings()
- call open TempFile,"VFXIFX:TempDrawer/"FXNum".txt",R
- line = readln(TempFile)
- PicAName = strip(line)
- line = readln(TempFile)
- Start = strip(line)
- line = readln(TempFile)
- End = strip(line)
- line = readln(TempFile)
- IAType = strip(line)
- line = readln(TempFile)
- Color = strip(line)
- line = readln(TempFile)
- BackType = strip(line)
- line = readln(TempFile)
- XOff = strip(line)
- line = readln(TempFile)
- YOff = strip(line)
- line = readln(TempFile)
- BrushName = strip(line)
- line = readln(TempFile)
- ShapeType = strip(line)
- call close TempFile
-
- Frames = (End - Start)+1
- j=0
- k=0
- TFrames = Frames
- TNum = 3
- if TFrames > 999 then TNum = 4
- if TFrames > 9999 then TNum = 5
- if Field = 1 then TFrames = Frames*2
- do i = Start to End
- k = k+ 1
- call open TempFile,"RAM:VFXNums",W
- call writeln TempFile,right(k,5,'0')
- call writeln TempFile,right(Frames,5,'0')
- call close TempFile
- f=0
- Redraw Off
- j = j+ 1
- FieldSet = 0
- call DoIt()
- Redraw On
- call SaveIt()
- if Field = 1 then do
- Redraw Off
- j = j + 1
- FieldSet = 1
- call DoIt()
- Redraw On
- call SaveIt()
- end
- end
- Undo On
- exit
-
-
-
- LoadA:
- if (POS('FLY_1',SHOW('Ports')) = 0) then do
- Undo On
- exit
- end
- if IAType = 0 then do
- LoadBuffer PicAName Force i
- if Field = 1 then do
- GetMain
- parse var result Name Width Height Blah
- if FieldSet = 0 then do
- Hook DeInterlace
- Scale Width Height
- end
- if FieldSet = 1 then do
- Hook DeInterlace
- Swap
- Scale Width Height
- end
- end
- end
- if IAType = 1 then do
- LoadBuffer PicAName Force 1
- end
- if IAType = 2 then do
- LoadBuffer PicAName Force
- end
- if IAType = 3 then do
- LoadBuffer PicAName""right(i,TNum,'0') Force
- end
- return
-
-
- SaveIt:
- if (POS('FLY_1',SHOW('Ports')) = 0) then do
- Undo On
- exit
- end
- if SaveType = 0 then do
- call Switcher(TOSW)
- call Switcher(MDV1)
-
- Render Go
- if Field = 1 then
- call RecordAdd(SaveName,1,6,Compression)
- else
- call RecordAdd(SaveName,2,6,Compression)
- if j = TFrames then
- call MakeIcon(SaveName,(Frames-10))
- end
-
- if SaveType = 1 then do
- if Field = 1 then do
- f= f + 1
- if f = 1 then
- SaveBufferAs ILBM "VFXIFX:TempDrawer/PicA"
- if f = 2 then do
- GetMain
- parse var result Name Width Height Blah
- Scale Width Height/2
- Swap
- LoadBuffer "VFXIFX:TempDrawer/PicA" Force
- Scale Width Height/2
- Hook Interlace
- SaveBufferAs ILBM SaveName""right(k,TNum,'0')
- f = 0
- end
- end
- else do
- SaveBufferAs ILBM SaveName""right(k,TNum,'0')
- end
- end
-
- return
-
-
- DoIt:
- if (POS('FLY_1',SHOW('Ports')) = 0) then do
- Undo On
- exit
- end
- call LoadA()
- GetMain
- parse var result Name Width Height Blah
- Buffer2Swap
- Swap
- if BackType = 2 then do
- LoadBuffer BrushName Force
- GetMain
- parse var result Name NewWidth NewHeight Blah
- if NewWidth ~= Width | NewHeight ~= Height then Scale Width Height
- end
- if BackType < 2 then do
- if j = 1 then do
- LoadBrush BrushName
- SaveBrushAs "ILBM" "VFXIFX:TempDrawer/BrushA"
- end
- if j > 1 then do
- LoadBrush "VFXIFX:TempDrawer/BrushA"
- Roll XOff YOff
- SaveBrushAs "ILBM" "VFXIFX:TempDrawer/BrushA"
- end
-
- Region Full
- DrawMode Normal
- Blend 100
- FillMode Tile 0 0 0 Smooth
- FilledBox 0 0 Width Height
- FillMode Solid 0 0 0 Smooth
- if BackType = 1 then do
- DrawMode Colorize
- ActiveColor Color
- FilledBox 0 0 Width Height
- end
- ActiveColor 1
- DrawMode Normal
- KillBrush
- end
- ActiveColor 1
- DrawMode Darken
-
- if ShapeType = 0 then do
- A = trunc(Width/10)+12
- B = trunc(Height/10)+12
- C = trunc(Width - (A*2))
- D = trunc(Height - (B*2))
- FilledBox A+12 B+10 C D
- FilledBox A+12 B+10 C D
- end
- if ShapeType = 1 then do
- EdgeMode FeatherOut 2
- FilledOval (Width/2)+12 (Height/2)+10 (Height/2)-10 (Height/2)-40
- FilledOval (Width/2)+12 (Height/2)+10 (Height/2)-10 (Height/2)-40
- end
- if ShapeType = 2 then do
- EdgeMode FeatherOut 2
- FilledOval (Width/2)+12 (Height/2)+10 (Width/2)-60 (Height/2)-40
- FilledOval (Width/2)+12 (Height/2)+10 (Width/2)-60 (Height/2)-40
- end
- if ShapeType = 3 then do
- EdgeMode FeatherOut 2
- NewArea
- AddArea (Width/2)+20 20
- AddArea (Width-40)+20 (Height/2)
- AddArea (Width/2)+20 (Height-20)
- AddArea 40+20 (Height/2)
- FilledPoly
- end
-
- DrawMode Normal
- Swap
- AlphaChannel Off
- Buffer2Alpha
- SwapAlpha
- Clearbuffer Force 0 0 0
-
- if ShapeType = 0 then do
- FilledBox A B C D
- end
- if ShapeType = 1 then do
- FilledOval Width/2 Height/2 (Height/2)-10 (Height/2)-40
- end
- if ShapeType = 2 then do
- FilledOval Width/2 Height/2 (Width/2)-60 (Height/2)-40
- end
- if ShapeType = 3 then do
- NewArea
- AddArea Width/2 20
- AddArea Width-40 Height/2
- AddArea Width/2 Height-20
- AddArea 40 Height/2
- FilledPoly
- end
- Negative
- SwapAlpha
- AlphaChannel FRISKET
- Merge 100 Alpha
- AlphaChannel Off
- EdgeMode Normal
- return
-
-
-